/**
 * Flex layout attribute
 * HTML layout helper based on CSS flexbox specification.
 *
 * VERSION: v1.0.3
 * DATE:    2016-06-21
 * URL:     http://progressivered.com/fla/
 * AUTHOR:  Stefan Kovac | stef@progressivered.com | http://progressivered.com/
 * LICENSE: MIT
 */

html {
    box-sizing: border-box
}

*,
:after,
:before {
    box-sizing: inherit
}

[layout] {
    display: -ms-flexbox;
    display: flex
}

[layout*=column], [layout*=row] {
    width: 100%;
    max-width: 100%
}

[layout^=row] {
    -ms-flex-direction: row;
    flex-direction: row
}

[layout^=column] {
    -ms-flex-direction: column;
    flex-direction: column
}

[layout*=row][layout*=reverse] {
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
}

[layout*=column][layout*=reverse] {
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse
}

[layout*=columns], [layout*=rows] {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

[layout=none] {
    -ms-flex: none;
    flex: none
}

[layout*=column][layout*=top-], [layout*=row][layout*=-left] {
    -ms-flex-pack: start;
    justify-content: flex-start
}

[layout*=column][layout*=center-],
[layout*=row][layout*=-center],
[layout~=centered] {
    -ms-flex-pack: center;
    justify-content: center
}

[layout*=column][layout*=bottom-],
[layout*=row][layout*=-right] {
    -ms-flex-pack: end;
    justify-content: flex-end
}

[layout*=column][layout*=spread-],
[layout*=row][layout*=-spread] {
    -ms-flex-pack: distribute;
    justify-content: space-around
}

[layout*=column][layout*=justify-],
[layout*=row][layout*=-justify] {
    -ms-flex-pack: justify;
    justify-content: space-between
}

[layout*=column][layout*=-left],
[layout*=row][layout*=top-] {
    -ms-flex-align: start;
    -ms-grid-row-align: flex-start;
    align-items: flex-start
}

[layout*=column][layout*=-center],
[layout*=row][layout*=center-],
[layout~=centered] {
    -ms-flex-align: center;
    -ms-grid-row-align: center;
    align-items: center
}

[layout*=column][layout*=-right],
[layout*=row][layout*=bottom-] {
    -ms-flex-align: end;
    -ms-grid-row-align: flex-end;
    align-items: flex-end
}

[layout*=column][layout*=-stretch],
[layout*=row][layout*=stretch-] {
    -ms-flex-align: stretch;
    -ms-grid-row-align: stretch;
    align-items: stretch
}

[layout*=columns][layout*=-left],
[layout*=rows][layout*=top-] {
    -ms-flex-line-pack: start;
    align-content: flex-start
}

[layout*=columns][layout*=-right],
[layout*=rows][layout*=bottom-] {
    -ms-flex-line-pack: end;
    align-content: flex-end
}

[layout*=columns][layout*=-center],
[layout*=rows][layout*=center-] {
    -ms-flex-line-pack: center;
    align-content: center
}

[layout*=columns][layout*=-justify],
[layout*=rows][layout*=justify-] {
    -ms-flex-line-pack: justify;
    align-content: space-between
}

[layout*=columns][layout*=-spread],
[layout*=rows][layout*=spread-] {
    -ms-flex-line-pack: distribute;
    align-content: space-around
}

[layout*=columns][layout*=-stretch],
[layout*=rows][layout*=stretch-] {
    -ms-flex-line-pack: stretch;
    align-content: stretch
}

@media (-ms-high-contrast:none),
screen and (-ms-high-contrast:active) {
    [layout*=column]:not([layout*=row])>* {
        max-width: auto
    }

    [layout*=column][self*=top] {
        height: auto !important
    }

    [self~=size-]>* {
        height: auto
    }
}

[layout*=column]:not([layout*=row]) [self*=left],
[layout*=row]:not([layout*=column]) [self*=top] {
    -ms-flex-item-align: start;
    align-self: flex-start
}

[self~=center] {
    -ms-flex-item-align: center;
    align-self: center
}

[layout*=column]:not([layout*=row]) [self*=right],
[layout*=row]:not([layout*=column]) [self*=bottom] {
    -ms-flex-item-align: end;
    align-self: flex-end
}

[self*=stretch] {
    -ms-flex-item-align: stretch;
    align-self: stretch
}

[layout][self*=center] {
    margin-left: auto;
    margin-right: auto
}

[layout][self*=right] {
    margin-right: 0
}

[layout][self*=left] {
    margin-left: 0
}

[layout*=column] [self*=bottom] {
    margin-top: auto
}

[layout*=column] [self*=top] {
    margin-bottom: auto
}

[layout*=row] [self*=left] {
    margin-right: auto
}

[layout*=row] [self*=right] {
    margin-left: auto
}

[self~=size-1of5] {
    width: 20%
}

[self~=size-1of4] {
    width: 25%
}

[self~=size-1of3] {
    width: 33.33333%
}

[self~=size-2of5] {
    width: 40%
}

[self~=size-1of2] {
    width: 50%
}

[self~=size-3of5] {
    width: 60%
}

[self~=size-2of3] {
    width: 66.6666%
}

[self~=size-3of4] {
    width: 75%
}

[self~=size-4of5] {
    width: 80%
}

[self~=size-1of1] {
    width: 100%
}

[layout*=column][layout*=stretch-]>:not([self*=size-]),
[layout*=row][layout*=-stretch]>:not([self*=size-]),
[self~=size-x1] {
    -ms-flex: 1 0 0% !important;
    flex: 1 0 0% !important
}

[self~=size-x2] {
    -ms-flex: 2 0 0% !important;
    flex: 2 0 0% !important
}

[self~=size-x3] {
    -ms-flex: 3 0 0% !important;
    flex: 3 0 0% !important
}

[self~=size-x4] {
    -ms-flex: 4 0 0% !important;
    flex: 4 0 0% !important
}

[self~=size-x5] {
    -ms-flex: 5 0 0% !important;
    flex: 5 0 0% !important
}

[self~=size-x6] {
    -ms-flex: 6 0 0% !important;
    flex: 6 0 0% !important
}

[self~=size-x7] {
    -ms-flex: 7 0 0% !important;
    flex: 7 0 0% !important
}

[self~=size-x8] {
    -ms-flex: 8 0 0% !important;
    flex: 8 0 0% !important
}

[self~=size-x9] {
    -ms-flex: 9 0 0% !important;
    flex: 9 0 0% !important
}

[self*=size-auto] {
    -ms-flex: 1 1 auto;
    flex: 1 1 auto
}

[self*=size-x0] {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto
}

[self~=size-xxlarge] {
    max-width: 1440px;
    width: 100%
}

[self~=size-xlarge] {
    max-width: 1200px;
    width: 100%
}

[self~=size-large] {
    max-width: 960px;
    width: 100%
}

[self~=size-larger] {
    max-width: 840px;
    width: 100%
}

[self~=size-medium] {
    max-width: 720px;
    width: 100%
}

[self~=size-smaller] {
    max-width: 600px;
    width: 100%
}

[self~=size-small] {
    max-width: 480px;
    width: 100%
}

[self~=size-xsmall] {
    max-width: 360px;
    width: 100%
}

[self~=size-xxsmall] {
    max-width: 240px;
    width: 100%
}

[self*=size-x]:not([self*=small]):not([self*=large]) {
    -ms-flex-negative: 1;
    flex-shrink: 1
}

[self~=first] {
    -ms-flex-order: -1;
    order: -1
}

[self~=order-1] {
    -ms-flex-order: 1;
    order: 1
}

[self~=order-2] {
    -ms-flex-order: 2;
    order: 2
}

[self~=order-3] {
    -ms-flex-order: 3;
    order: 3
}

[self~=last] {
    -ms-flex-order: 999;
    order: 999
}

[layout*=column]:not([layout*=row])>* {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-preferred-size: auto;
    flex-basis: auto
}

@media screen and (max-width:64em) {
    [layout*=lg-row] {
        -ms-flex-direction: row;
        flex-direction: row
    }

    [layout*=lg-column] {
        -ms-flex-direction: column;
        flex-direction: column
    }

    [layout*=lg-columns],
    [layout*=lg-rows] {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

@media screen and (max-width:52em) {
    [layout*=md-row] {
        -ms-flex-direction: row;
        flex-direction: row
    }

    [layout*=md-column] {
        -ms-flex-direction: column;
        flex-direction: column
    }

    [layout*=md-columns],
    [layout*=md-rows] {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

@media screen and (max-width:40em) {
    [layout*=sm-row] {
        -ms-flex-direction: row;
        flex-direction: row
    }

    [layout*=sm-column] {
        -ms-flex-direction: column;
        flex-direction: column
    }

    [layout*=sm-columns],
    [layout*=sm-rows] {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

@media screen and (max-width:64em) {
    [self*=lg-full] {
        -ms-flex: 1 1 100% !important;
        flex: 1 1 100% !important;
        width: 100%;
        max-width: 100%
    }

    [self*=lg-half] {
        -ms-flex: 1 1 50% !important;
        flex: 1 1 50% !important;
        width: 50%;
        max-width: 50%
    }

    [self~=lg-first] {
        -ms-flex-order: -1;
        order: -1
    }

    [self~=lg-last] {
        -ms-flex-order: 999;
        order: 999
    }

    [self~=lg-hide] {
        display: none
    }

    [self~=lg-show] {
        display: inherit
    }
}

@media screen and (max-width:52em) {
    [self*=md-full] {
        -ms-flex: 1 1 100% !important;
        flex: 1 1 100% !important;
        width: 100%;
        max-width: 100%
    }

    [self*=md-half] {
        -ms-flex: 1 1 50% !important;
        flex: 1 1 50% !important;
        width: 50%;
        max-width: 50%
    }

    [self~=md-first] {
        -ms-flex-order: -1;
        order: -1
    }

    [self~=md-last] {
        -ms-flex-order: 999;
        order: 999
    }

    [self~=md-hide] {
        display: none
    }

    [self~=md-show] {
        display: inherit
    }
}

@media screen and (max-width:40em) {
    [self*=sm-full] {
        -ms-flex: 1 1 100% !important;
        flex: 1 1 100% !important;
        width: 100%;
        max-width: 100%
    }

    [self*=sm-half] {
        -ms-flex: 1 1 50% !important;
        flex: 1 1 50% !important;
        width: 50%;
        max-width: 50%
    }

    [self~=sm-first] {
        -ms-flex-order: -1;
        order: -1
    }

    [self~=sm-last] {
        -ms-flex-order: 999;
        order: 999
    }

    [self~=sm-hide] {
        display: none
    }

    [self~=sm-show] {
        display: inherit
    }
}
